我正在尝试将列表中的每个元素保存到每个单独的csv文件中。每个元素都是一个数据框。
我使用了以下代码,但是问题是它保存的文件分别仅来自以下两个代码中列表的第一个或最后一个元素。例如输出文件都相同
for x in allcity:
for a in range(0,20):
x.to_csv('msd{}.csv'.format(a))
for a in range(0,20):
for x in allcity:
x.to_csv('msd{}.csv'.format(a))
答案 0 :(得分:2)
IIUC,我认为您需要:
$address = "House No. 1234-ABC, Second Floor, XYZ Building, ABC Mall Road, Street Number 1234, ABC Area";
$length = strlen($address); // 91
if ($length > 80) {
$middle = floor(strlen($address) / 2); // 45
[$address1, $address2] = preg_split("~.{{$middle}}[^,]*\K, ?~", $address, 2);
}
答案 1 :(得分:1)
问题在于,在两种情况下,嵌套循环都会将allcity
列表中的最后一个数据帧写入值的范围。您有两种选择:
counter = 0
for x in allcity:
x.to_csv('msd{}.csv'.format(counter)
counter += 1
或
for (counter, x) in enumerate(allcity):
x.to_csv('msd{}.csv'.format(counter)
答案 2 :(得分:0)
试试 f-strings 这是这里最简单的答案
counter = 0
for x in allcity:
x.to_csv(f'msd{counter}.csv')
counter += 1