Python-在csv文件中为nxn列表数据的一半创建对称列表
我得到了csv文件中的数据。 然后我使用这些代码将文件导入PythonPython-在csv文件中为nxn列表数据的一半创建对称列表,python,csv,import,Python,Csv,Import,我得到了csv文件中的数据。 然后我使用这些代码将文件导入Python with open('file.csv') as data: reader = csv.reader(data) dat = list(reader) 我使用以下代码将-替换为0 for i in range(len(dat)): for j in range (len(dat[0])): if dat[i][j] == '-':
with open('file.csv') as data:
reader = csv.reader(data)
dat = list(reader)
我使用以下代码将-替换为0
for i in range(len(dat)):
for j in range (len(dat[0])):
if dat[i][j] == '-':
dat[i][j] = 0
然后我得到了这样的东西
dat=[[0,"8","4","10],["",0,"5","6"],["","",0,"9"],["","","",0]]
如何使dat对称,并用0替换所有数据,并使中的数字成为整数
预期产出:
dat=[[0,8,4,10],[8,0,5,6],[4,5,0,9],[10,6,9,0]]
非常感谢你 如果要将数据存储在文件中,则需要读取数据并将其写回csv读取器 在您的示例中,您应该执行以下操作:if dat[i][j]在“-”中,然后将其写回文件 实现这一目标的另一种方法是:
with open('file.csv') as data:
reader = csv.reader(data)
output = []
for row in reader:
output.append([0 if cell in ("", "-") else int(cell) for cell in row])
print(output)
演示:
你好您知道如何创建预期的对称输出吗预期输出:dat=[[0,8,4,10],[8,0,5,6],[4,5,0,9],[10,6,9,0]]是-检查答案-代码片段向您展示了如何创建预期的对称输出。@user02您应该接受这个答案,如果它解决了您的问题,请勾选左侧的复选框。您好,我找不到复选框
>>> output = []
>>> rows = [["", "-", "8", "10"], ["1", "-", "", "100"]]
>>> for row in rows:
... output.append([0 if cell in ("", "-") else int(cell) for cell in row])
...
>>> print(output)
[[0, 0, 8, 10], [1, 0, 0, 100]]
>>>