Python 如何在列表中添加换行符?
我试图用python编写一个函数,它读取csv文件并返回格式良好的文件。输入文件只是标准的csv文件。其中每一行代表一个人。输出格式应如下所示:Python 如何在列表中添加换行符?,python,Python,我试图用python编写一个函数,它读取csv文件并返回格式良好的文件。输入文件只是标准的csv文件。其中每一行代表一个人。输出格式应如下所示: [ ("Age", "Gender", "Weight (kg)", "Height (cm)"), ("28", "Female", "58", "168"), (&q
[
("Age", "Gender", "Weight (kg)", "Height (cm)"),
("28", "Female", "58", "168"),
("33", "Male", "", "188")
]
问题是我不知道我该怎么做。我知道我可以循环遍历列表中的每个元素并将其打印出来,但我想如上所述返回它们。我最终采用的唯一格式如下所示:
[('Age', 'Gender', 'Weight (kg)', 'Height (cm)'), ('28', 'Female', '58', '168'), ('33', 'Male', '', '188')]
如果有人需要查看我的代码(我想代码一点也不好,但我正在学习):
您可以使用
pprint
模块进行稍微更好的打印,也可以自己打印:
data = [('Age', 'Gender', 'Weight (kg)', 'Height (cm)'),
('28', 'Female', '58', '168'),
('33', 'Male', '', '188')]
print('[')
for inner in data:
print(f"\t{inner}")
print(']')
输出:
[
('Age', 'Gender', 'Weight (kg)', 'Height (cm)')
('28', 'Female', '58', '168')
('33', 'Male', '', '188')
]
[('Age', 'Gender', 'Weight (kg)', 'Height (cm)'),
('28', 'Female', '58', '168'),
('33', 'Male', '', '188')]
使用
pprint
:
from pprint import pprint
pprint(data)
输出:
[
('Age', 'Gender', 'Weight (kg)', 'Height (cm)')
('28', 'Female', '58', '168')
('33', 'Male', '', '188')
]
[('Age', 'Gender', 'Weight (kg)', 'Height (cm)'),
('28', 'Female', '58', '168'),
('33', 'Male', '', '188')]
您可以使用如上所示的pprint。有一个非常好的库叫做tablate,它可以用来显示表格数据,如下所示
>>> from tabulate import tabulate
>>> data = [('Age', 'Gender', 'Weight (kg)', 'Height (cm)'), ('28', 'Female', '58', '168'), ('33', 'Male', '', '188')]
>>> print(tabulate(data[1:], headers=data[0]))
Age Gender Weight (kg) Height (cm)
----- -------- ------------- -------------
28 Female 58 168
33 Male 188
>>>
Python在编写字符串的REPR(表示)时支持单引号。但是,您可以通过发出不带引号的字符串并自己包装它们来编写自己的代码
def my_pformat(table):
tupstr = [", ".join(f'"{s}"' for s in tup) for tup in table]
tupline = [f" ({tup})" for tup in tupstr]
return "\n".join(["["] + tupline + ["]"])
table = [('Age', 'Gender', 'Weight (kg)', 'Height (cm)'),
('28', 'Female', '58', '168'),
('33', 'Male', '', '188')]
print(my_pformat(table))
结果
[
("Age", "Gender", "Weight (kg)", "Height (cm)")
("28", "Female", "58", "168")
("33", "Male", "", "188")
]
你试过使用pprint吗<代码>从pprint导入pprint-
pprint(读取_csv(“example.csv”))
-这可能不是您的确切格式,但应有助于打印效果。您希望输出为类似的单个字符串吗?不是python列表吗?谢谢这正是我要找的!谢谢我没有寻找这个,但这将是有用的。我实际上没有提到单引号/双引号,但谢谢!